package controllers;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;

import model.Aviones;
import model.Clientes;
import services.AvionesServices;
import services.ClientesServices;


public class GenericList extends JFrame{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTable table;
	private String klass;
	
	public GenericList (String datos) throws SQLException{
		this.klass = datos;
		
		// Carga propiedades ventana
		CargarPropiedades();
		
		// Carga Datos Segun Clase
		CargarDatos();
	}
	
	private void CargarPropiedades(){
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setTitle("Asistente de Viajes - Ver " + klass);
		setSize(new Dimension(911, 605));
		setOpacity(01);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		JMenu mnArchivo = new JMenu("Archivo");
		menuBar.add(mnArchivo);
		JMenuItem mntmSalir = new JMenuItem("Salir");
		mntmSalir.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {

				System.out.println("salir");
				System.exit(0);

			}
		});
		mnArchivo.add(mntmSalir);

		JMenu mnAdministracion = new JMenu("Administracion");
		menuBar.add(mnAdministracion);
		
		JPanel panel = new JPanel();
		panel.setBounds(32, 50, 447, 439);// tamm
		getContentPane().add(panel);

		table = new JTable();
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		JScrollPane tableSP = new JScrollPane(table);
		panel.add(tableSP);
		
		tableSP.setBorder(new EmptyBorder(5, 5, 5, 5));
	}
	
	private void CargarDatos() throws SQLException{
		
		switch (klass) {
		case "Clientes":
			List<Clientes> cli = new ClientesServices().GetClientesArchivo();
			break;
		case "Aviones":
			List<Aviones> avio = new AvionesServices().GetAvionesAll();
			break;
		default:
			break;
		}
	}
}
